import countries from "./countries"

const KycIdTypeOptions: {
    value: Kyc.IdType
    label: string
}[] = [
    {
        value: "UMID",
        label: "Unified Multi-Purpose ID (UMID)",
    },
    {
        value: "DRIVING_LICENSE",
        label: "Driver's License",
    },
    {
        value: "PASSPORT",
        label: "Passport",
    },
    {
        value: "PHIL_HEALTH",
        label: "PhilHealth ID",
    },
    {
        value: "SSS",
        label: "SSS (Social Security System) ID",
    },
    {
        value: "POSTAL",
        label: "Postal ID",
    },
    {
        value: "PRC",
        label: "PRC ID",
    },
    {
        value: "TIN",
        label: "TIN – New Version",
    },
]

const KycNearestBranchOptions: {
    value: string
    label: string
}[] = [
    {
        value: "2042 Taft Ave, Pasay, Metro Manila",
        label: "2042 Taft Ave, Pasay, Metro Manila",
    },
    {
        value: "Bigwin29 Capitol - Cebu City",
        label: "Bigwin29 Capitol - Cebu City",
    },
    {
        value: "Bigwin29 Banilad - Cebu City",
        label: "Bigwin29 Banilad - Cebu City",
    },
    {
        value: "Bigwin29 Tipolo - Mandaue City",
        label: "Bigwin29 Tipolo - Mandaue City",
    },
    {
        value: "Bigwin29 Punta Princesa - Cebu City",
        label: "Bigwin29 Punta Princesa - Cebu City",
    },
    {
        value: "Bigwin29 Runway 2 - Lapu-Lapu City",
        label: "Bigwin29 Runway 2 - Lapu-Lapu City",
    },
    {
        value: "Egames – Sta. Ana",
        label: "Egames – Sta. Ana",
    },
    {
        value: "Egames – Malibay",
        label: "Egames – Malibay",
    },
    {
        value: "eBingo - RDM Pandacan",
        label: "eBingo - RDM Pandacan",
    },
    {
        value: "eBingo – San Andres",
        label: "eBingo – San Andres",
    },
]

const KycOccupationOptions: {
    value: string
    label: string
}[] = [
    {
        value: "Employed",
        label: "Employed",
    },
    {
        value: "Self-Employed",
        label: "Self-Employed",
    },
    {
        value: "Business Owner",
        label: "Business Owner",
    },
    {
        value: "Student",
        label: "Student",
    },
    {
        value: "Retired",
        label: "Retired",
    },
    {
        value: "Unemployed",
        label: "Unemployed",
    },
    {
        value: "Homemaker",
        label: "Homemaker",
    },
    {
        value: "Freelancer",
        label: "Freelancer",
    },
    {
        value: "Government Employee",
        label: "Government Employee",
    },
    {
        value: "Private Sector Employee",
        label: "Private Sector Employee",
    },
    {
        value: "Other",
        label: "Other",
    },
]

const KycMainSourceOfFundsOptions: {
    value: string
    label: string
}[] = [
    {
        value: "Salary/Employment",
        label: "Salary/Employment",
    },
    {
        value: "Business Income",
        label: "Business Income",
    },
    {
        value: "Investments",
        label: "Investments",
    },
    {
        value: "Inheritance",
        label: "Inheritance",
    },
    {
        value: "Personal Savings",
        label: "Personal Savings",
    },
    {
        value: "Pension/Retirement",
        label: "Pension/Retirement",
    },
    {
        value: "Rental Income",
        label: "Rental Income",
    },
    {
        value: "Family Allowance",
        label: "Family Allowance",
    },
    {
        value: "Other Sources",
        label: "Other Sources",
    },
]

const KycGenderOptions: {
    value: Kyc.Gender
    label: string
}[] = [
    {
        value: "female",
        label: "Female",
    },
    {
        value: "male",
        label: "Male",
    },
    {
        value: "un_know",
        label: "Prefer not to say",
    },
]

const kycCountryOptions: {
    value: string
    label: string
}[] = countries.map((country) => ({
    value: country.name,
    label: country.name,
}))

const KycPlaceOfBirthOptions: {
    value: string
    label: string
}[] = [
    {
        value: "Caloocan City",
        label: "Caloocan City",
    },
    {
        value: "Caloocan City (North)",
        label: "Caloocan City (North)",
    },
    {
        value: "Caloocan City (South)",
        label: "Caloocan City (South)",
    },
    {
        value: "Las Piñas",
        label: "Las Piñas",
    },
    {
        value: "Makati",
        label: "Makati",
    },
    {
        value: "Malabon",
        label: "Malabon",
    },
    {
        value: "Mandaluyong",
        label: "Mandaluyong",
    },
    {
        value: "Manila",
        label: "Manila",
    },
    {
        value: "Marikina",
        label: "Marikina",
    },
    {
        value: "Muntinlupa",
        label: "Muntinlupa",
    },
    {
        value: "Navotas",
        label: "Navotas",
    },
    {
        value: "Parañaque",
        label: "Parañaque",
    },
    {
        value: "Pasay City",
        label: "Pasay City",
    },
    {
        value: "Pasig",
        label: "Pasig",
    },
    {
        value: "Pateros",
        label: "Pateros",
    },
    {
        value: "Quezon City",
        label: "Quezon City",
    },
    {
        value: "San Juan",
        label: "San Juan",
    },
    {
        value: "Taguig",
        label: "Taguig",
    },
    {
        value: "Valenzuela",
        label: "Valenzuela",
    },
]

const PhilippinesRealNameRegex = /^[a-zA-Z ]+$/
// Allowed characters: 0-9, A-Z, a-z, space, comma, period, #, dot
const PhilippinesAddressRegex = /^[0-9A-Za-z ,.#]+$/

const Constants = {
    KycIdTypeOptions,
    KycNearestBranchOptions,
    KycOccupationOptions,
    KycMainSourceOfFundsOptions,
    KycGenderOptions,
    kycCountryOptions,
    KycPlaceOfBirthOptions,
    PhilippinesRealNameRegex,
    PhilippinesAddressRegex,
}

export default Constants
